<!-- 
 * Copyright 2019 Huawei Technologies Co.,Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use
 * this file except in compliance with the License.  You may obtain a copy of the
 * License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed
 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations under the License.
 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Pragma" name="Pragma" content="no-cache">
<title>create_folder_sample</title>

</head>

<body>
	
    <h3>OBS BrowserJS SDK demo</h3>
    
    <h4>Basic Configuration</h4>
    <label>AK:</label> <input type="text" value="*** Provide your Access Key ***" id="ak" size="30"/>
    <label>SK:</label> <input type="text" value="*** Provide your Secret Key ***" id="sk" size="30"/>
	<p>
    <label>Server:</label> <input type="text" value="http://your-endpoint" id="server" size="30"/>
    <label>Bucket:</label> <input type="text" value="bucketname" id="bucketname"/>
    <p>
    <input type="button" value="Click to create folder in bucket" onclick="createFolder();"/>


</body>


<script src="../dist/esdk-obs-browserjs.3.23.5.min.js"></script>
<script type="text/javascript">
/**
 * This sample demonstrates how to create an empty folder under 
 * specified bucket to OBS using the OBS SDK for BrowserJS.
 */

 function getObsClient(){
	 /*
	 * Initialize a obs client instance with your account for accessing OBS
	 */
	var ak = document.getElementById('ak').value;
	var sk = document.getElementById('sk').value;
	var server = document.getElementById('server').value;
	return new ObsClient({
		access_key_id: ak,
		secret_access_key: sk,
		server : server,
		timeout : 60 * 5,
	});
}
 
 /**
 * create folder in two ways
 */
 function createFolder(){
		var bucketName =  document.getElementById('bucketname').value;
		var obs = getObsClient();
	     /*
         * Way 1:
         */
		var keySuffixWithSlash1 = 'MyObjectKey1/';
		obs.putObject({
			Bucket : bucketName,
			Key : keySuffixWithSlash1
		}).then(function(result)  {
			if(result.CommonMsg.Status < 300){
				console.log('Create an empty folder ' + keySuffixWithSlash1 + ' finished.\n');
				/*
	             * Verify whether the size of the empty folder is zero 
	             */
				obs.getObjectMetadata({
					Bucket : bucketName,
					Key : keySuffixWithSlash1
				}).then(function(result)  {
					if(result.CommonMsg.Status < 300){
						console.log('Size of the empty folder ' + keySuffixWithSlash1 + ' is ' + result.InterfaceResult.ContentLength);
					}
				});
			}
		});
		
        /*
         * Way 2:
         */
		var keySuffixWithSlash2 = 'MyObjectKey2/';
		obs.putObject({
			Bucket : bucketName,
			Key : keySuffixWithSlash2,
			Body : ''
		}).then(function(result)  {
			if(result.CommonMsg.Status < 300){
				console.log('Create an empty folder ' + keySuffixWithSlash2 + ' finished.\n');
				/*
	             * Verify whether the size of the empty folder is zero 
	             */
				obs.getObjectMetadata({
					Bucket : bucketName,
					Key : keySuffixWithSlash1
				}).then(function(result)  {
					if(result.CommonMsg.Status < 300){
						console.log('Size of the empty folder ' + keySuffixWithSlash2 + ' is ' + result.InterfaceResult.ContentLength);
					}
				});
			}
		});
 }

 



</script>

</html>

